package com.lxmes.sales.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 物料信息对象 jc_iteminfo
 *
 * @author 张志煜
 * @date 2022-12-08
 */
public class JcIteminfoPo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码" ,type = Excel.Type.EXPORT)
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称" ,type = Excel.Type.EXPORT)
    private String factoryName;
    /** 物料名称 */
    @Excel(name = "物料名称")
    private String itemName;
    /** 物料子编号 */
    @Excel(name = "物料编号")
    private String itemCode;
    /** 物料编号 */
    @Excel(name = "物料子编号")
    private String itemId;
    /** 物料识别码 */
    @Excel(name = "物料识别码")
    private String itemIdentifyCode;

    /** 物料单位 */
    @Excel(name = "物料单位")
    private String unit;

    /** 规格 */
    @Excel(name = "规格型号")
    private String spec;

    /** 型号 */
    private String model;

    /** 条码号 */
    @Excel(name = "条码号")
    private String tmh;

    /** 物料分类编码 */
    @Excel(name = "物料分类编码")
    private String classId;

    /** 物料分类名称 */
    @Excel(name = "物料分类名称")
    private String className;

    /** 物料大类编码 */
    @Excel(name = "物料大类编码")
    private String classBigId;

    /** 物料大类名称 */
    @Excel(name = "物料大类名称")
    private String classBigName;

    /** 供应商编码 */
    @Excel(name = "供应商编码")
    private Long supplyId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplyName;

    /** 供应商类别 */
    @Excel(name = "供应商类别")
    private String supplyType;

    /** 供应商简称 */
    @Excel(name = "供应商简称")
    private String supplyJc;
    /** 存储期 */
    @Excel(name = "存储期")
    private String cunchudate;

    /** 保质期 */
    @Excel(name = "保质期" )
    private String productiondate;

    /** 图片地址 */
    @Excel(name = "图片地址" ,type = Excel.Type.EXPORT)
    private String url;

    /** 预警上线 */
    @Excel(name = "预警上线",type = Excel.Type.EXPORT)
    private Long upLine;

    /** 预警下线 */
    @Excel(name = "预警下线",type = Excel.Type.EXPORT)
    private Long downLine;
    /** 中间值 */
    @Excel(name = "中间值" ,type = Excel.Type.EXPORT)
    private Long middleLine;

    /** 尺寸 */
    @Excel(name = "尺寸")
    private BigDecimal size;

    /** 单重 */
    @Excel(name = "单重")
    private BigDecimal singleWeight;

    /** 使用状态 */
    @Excel(name = "使用状态")
    private String useState;

    /** 颜色 */
    @Excel(name = "颜色")
    private String color;

    /** 花纹 */
    @Excel(name = "花纹")
    private String figure;

    /** 材质 */
    @Excel(name = "材质")
    private String caizhi;

    /** 包装数量 */
    @Excel(name = "包装数量")
    private BigDecimal baozhuangQty;

    /** 包装方式 */
    @Excel(name = "包装方式")
    private String baozhuangType;

    /** 物料状态  1--启用 0--停用 */
    @Excel(name = "物料状态" ,type = Excel.Type.EXPORT)
    private String stopFlag;

    /** 组织机构 */
    @Excel(name = "组织机构",type = Excel.Type.EXPORT)
    private Long deptId;

    /** 托管状态 1--托管 0--非托管 */
    @Excel(name = "托管状态")
    private String isTuoguan;

    /** 成本价 */
    @Excel(name = "成本价")
    private BigDecimal price;

    /** 计划价 */
    @Excel(name = "计划价")
    private BigDecimal jhPrice;

    /** 合同价 */
    @Excel(name = "合同价")
    private BigDecimal htPrice;

    /** 发票价 */
    @Excel(name = "发票价")
    private BigDecimal fpPrice;

    /** 结算价 */
    @Excel(name = "结算价")
    private BigDecimal jsPrice;

    /** 生产周期（天） */
    @Excel(name = "生产周期")
    private BigDecimal proCycle;

    /** 供货周期（天） */
    @Excel(name = "供货周期")
    private BigDecimal deliveryCycle;

    /** 供货份额 */
    @Excel(name = "供货份额")
    private BigDecimal deliveryFe;

    /** 份额调整比例 */
    @Excel(name = "份额调整比例")
    private BigDecimal adjustRate;

    /** 份额调整日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "份额调整日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date adjustDate;

    /** 月订单数量 */
    @Excel(name = "月订单数量")
    private BigDecimal yddNum;

    /** 月完成数量 */
    @Excel(name = "月完成数量")
    private BigDecimal ywcNum;

    /** 月度供货未完成比率 */
    @Excel(name = "月度供货未完成比率")
    private BigDecimal yghwwcRate;
    /*查询参数*/
    private String[]  codesParams;

    private String queryParams;

    /** 更新时间 */
    private String beginTime;

    /** 更新时间 */
    private String endTime;
    /*线体编码*/
    private String proLineCode;
    /*分类编码*/
    private String classifyCode;

    private String lineSimpleCode;

    private Long yhNum;

    private BigDecimal jhUnitPrice;
    private BigDecimal jhTotalPrice;
    private BigDecimal taxRate;
    private BigDecimal inclusivePurchasePrice;
    private BigDecimal inclusivePurchaseAmount;
    private BigDecimal exclusivePurchasePrice;
    private BigDecimal exclusivePurchaseAmount;
    private BigDecimal packagingCost;
    private BigDecimal shippingCost;
    private BigDecimal logisticsCost;
    private String material;
    private String packagingMaterial;

    private String packagingSize;
    private String singleBoxWeight;






    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFactoryCode(String factoryCode)
    {
        this.factoryCode = factoryCode;
    }

    public String getFactoryCode()
    {
        return factoryCode;
    }
    public void setFactoryName(String factoryName)
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName()
    {
        return factoryName;
    }
    public void setItemCode(String itemCode)
    {
        this.itemCode = itemCode;
    }

    public String getItemCode()
    {
        return itemCode;
    }
    public void setItemId(String itemId)
    {
        this.itemId = itemId;
    }

    public String getItemId()
    {
        return itemId;
    }
    public void setItemName(String itemName)
    {
        this.itemName = itemName;
    }

    public String getItemName()
    {
        return itemName;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setSpec(String spec)
    {
        this.spec = spec;
    }

    public String getSpec()
    {
        return spec;
    }
    public void setModel(String model)
    {
        this.model = model;
    }

    public String getModel()
    {
        return model;
    }
    public void setTmh(String tmh)
    {
        this.tmh = tmh;
    }

    public String getTmh()
    {
        return tmh;
    }
    public void setClassId(String classId)
    {
        this.classId = classId;
    }

    public String getClassId()
    {
        return classId;
    }
    public void setClassName(String className)
    {
        this.className = className;
    }

    public String getClassName()
    {
        return className;
    }
    public void setClassBigId(String classBigId)
    {
        this.classBigId = classBigId;
    }

    public String getClassBigId()
    {
        return classBigId;
    }
    public void setClassBigName(String classBigName)
    {
        this.classBigName = classBigName;
    }

    public String getClassBigName()
    {
        return classBigName;
    }
    public void setSupplyId(Long supplyId)
    {
        this.supplyId = supplyId;
    }

    public Long getSupplyId()
    {
        return supplyId;
    }
    public void setSupplyName(String supplyName)
    {
        this.supplyName = supplyName;
    }

    public String getSupplyName()
    {
        return supplyName;
    }
    public void setSupplyType(String supplyType)
    {
        this.supplyType = supplyType;
    }

    public String getSupplyType()
    {
        return supplyType;
    }
    public void setSupplyJc(String supplyJc)
    {
        this.supplyJc = supplyJc;
    }

    public String getSupplyJc()
    {
        return supplyJc;
    }
    public void setUpLine(Long upLine)
    {
        this.upLine = upLine;
    }

    public Long getUpLine()
    {
        return upLine;
    }
    public void setDownLine(Long downLine)
    {
        this.downLine = downLine;
    }

    public Long getDownLine()
    {
        return downLine;
    }
    public void setMiddleLine(Long middleLine)
    {
        this.middleLine = middleLine;
    }

    public Long getMiddleLine()
    {
        return middleLine;
    }
    public void setCunchudate(String cunchudate)
    {
        this.cunchudate = cunchudate;
    }

    public String getCunchudate()
    {
        return cunchudate;
    }
    public void setProductiondate(String productiondate)
    {
        this.productiondate = productiondate;
    }

    public String getProductiondate()
    {
        return productiondate;
    }
    public void setUrl(String url)
    {
        this.url = url;
    }

    public String getUrl()
    {
        return url;
    }
    public void setSize(BigDecimal size)
    {
        this.size = size;
    }

    public BigDecimal getSize()
    {
        return size;
    }
    public void setSingleWeight(BigDecimal singleWeight)
    {
        this.singleWeight = singleWeight;
    }

    public BigDecimal getSingleWeight()
    {
        return singleWeight;
    }
    public void setUseState(String useState)
    {
        this.useState = useState;
    }

    public String getUseState()
    {
        return useState;
    }
    public void setColor(String color)
    {
        this.color = color;
    }

    public String getColor()
    {
        return color;
    }
    public void setFigure(String figure)
    {
        this.figure = figure;
    }

    public String getFigure()
    {
        return figure;
    }
    public void setCaizhi(String caizhi)
    {
        this.caizhi = caizhi;
    }

    public String getCaizhi()
    {
        return caizhi;
    }
    public void setBaozhuangQty(BigDecimal baozhuangQty)
    {
        this.baozhuangQty = baozhuangQty;
    }

    public BigDecimal getBaozhuangQty()
    {
        return baozhuangQty;
    }
    public void setBaozhuangType(String baozhuangType)
    {
        this.baozhuangType = baozhuangType;
    }

    public String getBaozhuangType()
    {
        return baozhuangType;
    }
    public void setStopFlag(String stopFlag)
    {
        this.stopFlag = stopFlag;
    }

    public String getStopFlag()
    {
        return stopFlag;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setIsTuoguan(String isTuoguan)
    {
        this.isTuoguan = isTuoguan;
    }

    public String getIsTuoguan()
    {
        return isTuoguan;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setJhPrice(BigDecimal jhPrice)
    {
        this.jhPrice = jhPrice;
    }

    public BigDecimal getJhPrice()
    {
        return jhPrice;
    }
    public void setHtPrice(BigDecimal htPrice)
    {
        this.htPrice = htPrice;
    }

    public BigDecimal getHtPrice()
    {
        return htPrice;
    }
    public void setFpPrice(BigDecimal fpPrice)
    {
        this.fpPrice = fpPrice;
    }

    public BigDecimal getFpPrice()
    {
        return fpPrice;
    }
    public void setJsPrice(BigDecimal jsPrice)
    {
        this.jsPrice = jsPrice;
    }

    public BigDecimal getJsPrice()
    {
        return jsPrice;
    }
    public void setProCycle(BigDecimal proCycle)
    {
        this.proCycle = proCycle;
    }

    public BigDecimal getProCycle()
    {
        return proCycle;
    }
    public void setDeliveryCycle(BigDecimal deliveryCycle)
    {
        this.deliveryCycle = deliveryCycle;
    }

    public BigDecimal getDeliveryCycle()
    {
        return deliveryCycle;
    }
    public void setDeliveryFe(BigDecimal deliveryFe)
    {
        this.deliveryFe = deliveryFe;
    }

    public BigDecimal getDeliveryFe()
    {
        return deliveryFe;
    }
    public void setAdjustRate(BigDecimal adjustRate)
    {
        this.adjustRate = adjustRate;
    }

    public BigDecimal getAdjustRate()
    {
        return adjustRate;
    }
    public void setAdjustDate(Date adjustDate)
    {
        this.adjustDate = adjustDate;
    }

    public Date getAdjustDate()
    {
        return adjustDate;
    }
    public void setYddNum(BigDecimal yddNum)
    {
        this.yddNum = yddNum;
    }

    public BigDecimal getYddNum()
    {
        return yddNum;
    }
    public void setYwcNum(BigDecimal ywcNum)
    {
        this.ywcNum = ywcNum;
    }

    public BigDecimal getYwcNum()
    {
        return ywcNum;
    }
    public void setYghwwcRate(BigDecimal yghwwcRate)
    {
        this.yghwwcRate = yghwwcRate;
    }

    public BigDecimal getYghwwcRate()
    {
        return yghwwcRate;
    }

    public String[] getCodesParams() {
        return codesParams;
    }

    public void setCodesParams(String[] codesParams) {
        this.codesParams = codesParams;
    }

    public String getQueryParams() {
        return queryParams;
    }

    public void setQueryParams(String queryParams) {
        this.queryParams = queryParams;
    }

    public String getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(String beginTime) {
        this.beginTime = beginTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("factoryCode", getFactoryCode())
                .append("factoryName", getFactoryName())
                .append("itemCode", getItemCode())
                .append("itemId", getItemId())
                .append("itemName", getItemName())
                .append("unit", getUnit())
                .append("spec", getSpec())
                .append("model", getModel())
                .append("tmh", getTmh())
                .append("classId", getClassId())
                .append("className", getClassName())
                .append("classBigId", getClassBigId())
                .append("classBigName", getClassBigName())
                .append("supplyId", getSupplyId())
                .append("supplyName", getSupplyName())
                .append("supplyType", getSupplyType())
                .append("supplyJc", getSupplyJc())
                .append("upLine", getUpLine())
                .append("downLine", getDownLine())
                .append("middleLine", getMiddleLine())
                .append("cunchudate", getCunchudate())
                .append("productiondate", getProductiondate())
                .append("url", getUrl())
                .append("size", getSize())
                .append("singleWeight", getSingleWeight())
                .append("useState", getUseState())
                .append("color", getColor())
                .append("figure", getFigure())
                .append("caizhi", getCaizhi())
                .append("baozhuangQty", getBaozhuangQty())
                .append("baozhuangType", getBaozhuangType())
                .append("stopFlag", getStopFlag())
                .append("deptId", getDeptId())
                .append("isTuoguan", getIsTuoguan())
                .append("price", getPrice())
                .append("jhPrice", getJhPrice())
                .append("htPrice", getHtPrice())
                .append("fpPrice", getFpPrice())
                .append("jsPrice", getJsPrice())
                .append("proCycle", getProCycle())
                .append("deliveryCycle", getDeliveryCycle())
                .append("deliveryFe", getDeliveryFe())
                .append("adjustRate", getAdjustRate())
                .append("adjustDate", getAdjustDate())
                .append("yddNum", getYddNum())
                .append("ywcNum", getYwcNum())
                .append("yghwwcRate", getYghwwcRate())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }

    public String getItemIdentifyCode() {
        return itemIdentifyCode;
    }

    public void setItemIdentifyCode(String itemIdentifyCode) {
        this.itemIdentifyCode = itemIdentifyCode;
    }

    public String getProLineCode() {
        return proLineCode;
    }

    public void setProLineCode(String proLineCode) {
        this.proLineCode = proLineCode;
    }

    public String getClassifyCode() {
        return classifyCode;
    }

    public void setClassifyCode(String classifyCode) {
        this.classifyCode = classifyCode;
    }

    public String getLineSimpleCode() {
        return lineSimpleCode;
    }

    public void setLineSimpleCode(String lineSimpleCode) {
        this.lineSimpleCode = lineSimpleCode;
    }

    public Long getYhNum() {
        return yhNum;
    }

    public void setYhNum(Long yhNum) {
        this.yhNum = yhNum;
    }

    public BigDecimal getJhUnitPrice() {
        return jhUnitPrice;
    }

    public void setJhUnitPrice(BigDecimal jhUnitPrice) {
        this.jhUnitPrice = jhUnitPrice;
    }

    public BigDecimal getJhTotalPrice() {
        return jhTotalPrice;
    }

    public void setJhTotalPrice(BigDecimal jhTotalPrice) {
        this.jhTotalPrice = jhTotalPrice;
    }

    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }

    public BigDecimal getInclusivePurchasePrice() {
        return inclusivePurchasePrice;
    }

    public void setInclusivePurchasePrice(BigDecimal inclusivePurchasePrice) {
        this.inclusivePurchasePrice = inclusivePurchasePrice;
    }

    public BigDecimal getInclusivePurchaseAmount() {
        return inclusivePurchaseAmount;
    }

    public void setInclusivePurchaseAmount(BigDecimal inclusivePurchaseAmount) {
        this.inclusivePurchaseAmount = inclusivePurchaseAmount;
    }

    public BigDecimal getExclusivePurchasePrice() {
        return exclusivePurchasePrice;
    }

    public void setExclusivePurchasePrice(BigDecimal exclusivePurchasePrice) {
        this.exclusivePurchasePrice = exclusivePurchasePrice;
    }

    public BigDecimal getExclusivePurchaseAmount() {
        return exclusivePurchaseAmount;
    }

    public void setExclusivePurchaseAmount(BigDecimal exclusivePurchaseAmount) {
        this.exclusivePurchaseAmount = exclusivePurchaseAmount;
    }

    public BigDecimal getPackagingCost() {
        return packagingCost;
    }

    public void setPackagingCost(BigDecimal packagingCost) {
        this.packagingCost = packagingCost;
    }

    public BigDecimal getShippingCost() {
        return shippingCost;
    }

    public void setShippingCost(BigDecimal shippingCost) {
        this.shippingCost = shippingCost;
    }

    public BigDecimal getLogisticsCost() {
        return logisticsCost;
    }

    public void setLogisticsCost(BigDecimal logisticsCost) {
        this.logisticsCost = logisticsCost;
    }

    public String getMaterial() {
        return material;
    }

    public void setMaterial(String material) {
        this.material = material;
    }

    public String getPackagingMaterial() {
        return packagingMaterial;
    }

    public void setPackagingMaterial(String packagingMaterial) {
        this.packagingMaterial = packagingMaterial;
    }

    public String getSingleBoxWeight() {
        return singleBoxWeight;
    }

    public void setSingleBoxWeight(String singleBoxWeight) {
        this.singleBoxWeight = singleBoxWeight;
    }

    public String getPackagingSize() {
        return packagingSize;
    }

    public void setPackagingSize(String packagingSize) {
        this.packagingSize = packagingSize;
    }
}
